schema {
  query: _Query
  mutation: _Mutation
}

directive @strExpr(char: Char, chars: [Char!], string: String, strings: [String!], byte: Byte, bytes: [Byte!], short: Short, shorts: [Short!], int: Int, ints: [Int!], long: Long, longs: [Long!], float: _Float4, floats: [_Float4!], double: Float, doubles: [Float!], bigDecimal: BigDecimal, bigDecimals: [BigDecimal!], date: _Date, dates: [_Date!], dateTime: _DateTime, dateTimes: [_DateTime!], offsetDateTime: _OffsetDateTime, offsetDateTimes: [_OffsetDateTime!], time: _Time, times: [_Time!], boolean: Boolean, booleans: [Boolean!]) on FIELD

directive @mergeReqSpec(cond: String) on INLINE_FRAGMENT

"""Exposes a URL that specifies the behaviour of this scalar."""
directive @specifiedBy(
  """The URL that specifies the behaviour of this scalar."""
  url: String!
) on SCALAR

directive @dependsOnByGet(commandId: String!, dependency: _DependsOnDependencyByGet!) on FIELD

directive @dependsOnByUpdateOrCreate(commandId: String!, dependency: _DependsOnDependencyByUpdateOrCreate!) on FIELD

scalar _ByteArray

type _Calculation {
  char(expr: String!): Char
  string(expr: String!): String
  byte(expr: String!): Byte
  short(expr: String!): Short
  int(expr: String!): Int
  long(expr: String!): Long
  float(expr: String!): _Float4
  double(expr: String!): Float
  bigDecimal(expr: String!): BigDecimal
  date(expr: String!): _Date
  dateTime(expr: String!): _DateTime
  offsetDateTime(expr: String!): _OffsetDateTime
  time(expr: String!): _Time
  boolean(expr: String!): Boolean
  byteArray(expr: String!): _ByteArray
}

input _CompareTestEntityInput {
  localDateTimeField: _DateTime
  integerField: Int
  stringField: String
  localDateField: _Date
}

input _CreateTestEntityInput {
  localDateTimeField: _DateTime
  booleanField: Boolean
  integerField: Int
  binaryField: _ByteArray
  bigDecimalField: BigDecimal
  stringField: String
  localDateField: _Date
  textField: String
}

scalar _Date

scalar _DateTime

input _DeleteManyTestEntityInput {
  id: ID!
  compare: _CompareTestEntityInput
}

enum _DependsOnDependencyByGet {
  """EXISTS"""
  EXISTS

  """NOT_EXISTS"""
  NOT_EXISTS
}

enum _DependsOnDependencyByUpdateOrCreate {
  """CREATED"""
  CREATED

  """NOT_CREATED"""
  NOT_CREATED
}

type _E_RootDictionary implements _Entity & RootDictionary {
  id: ID!
  type: String!
  _calc: _Calculation!
}

type _E_Stakeholder implements _Entity & Stakeholder {
  id: ID!
  chgCnt: Long
  code: String
  lastChangeDate: _DateTime
  name: String
  aggregateRoot(alias: String): RootDictionary
  _calc: _Calculation!
}

type _E_Status implements _Entity & Status {
  id: ID!
  chgCnt: Long
  code: String
  description: String
  initial: Boolean
  lastChangeDate: _DateTime
  name: String
  statusType: String
  stakeholder(alias: String): Stakeholder
  aggregateRoot(alias: String): RootDictionary
  _calc: _Calculation!
}

type _E_StatusGraph implements _Entity & StatusGraph {
  id: ID!
  chgCnt: Long
  code: String
  label: String
  lastChangeDate: _DateTime
  name: String
  statusFrom(alias: String): Status
  statusTo(alias: String): Status
  aggregateRoot(alias: String): RootDictionary
  _calc: _Calculation!
}

type _E_SysAdminSettings implements _Entity & SysAdminSettings {
  id: ID!
  aggVersion: Long!
  chgCnt: Long
  lastChangeDate: _DateTime
  ownerId: String
  key: String
  value: String
  rootSecurity(alias: String): SysRootSecurity!
  aggregateRoot(alias: String): SysRootSecurity
  _calc: _Calculation!
}

type _E_SysCheckSelect implements _Entity & SysCheckSelect {
  id: ID!
  aggVersion: Long!
  chgCnt: Long
  lastChangeDate: _DateTime
  ownerId: String
  beforeCommitEnable: Boolean
  beforeOperationDisable: Boolean
  conditionValue: String
  description: String
  orderValue: Int
  typeName: String
  operation(alias: String): SysOperation!
  aggregateRoot(alias: String): SysRootSecurity
  _calc: _Calculation!
}

type _E_SysOperation implements _Entity & SysOperation {
  id: ID!
  aggVersion: Long!
  chgCnt: Long
  lastChangeDate: _DateTime
  ownerId: String
  allowEmptyChecks: Boolean
  body: String
  disableJwtVerification: Boolean
  hashValue: String
  rootSecurity(alias: String): SysRootSecurity!
  aggregateRoot(alias: String): SysRootSecurity
  checkSelects(elemAlias: String, cond: String, limit: Int, offset: Int, sort: [_SortCriterionSpecification!]): _EC_SysCheckSelect!
  paramAdditions(elemAlias: String, cond: String, limit: Int, offset: Int, sort: [_SortCriterionSpecification!]): _EC_SysParamAddition!
  _calc: _Calculation!
}

type _E_SysParamAddition implements _Entity & SysParamAddition {
  id: ID!
  aggVersion: Long!
  chgCnt: Long
  lastChangeDate: _DateTime
  ownerId: String
  paramAddition: String
  paramName: String
  operation(alias: String): SysOperation!
  aggregateRoot(alias: String): SysRootSecurity
  _calc: _Calculation!
}

type _E_SysRootSecurity implements _Entity & SysRootSecurity {
  id: ID!
  aggVersion: Long!
  chgCnt: Long
  lastChangeDate: _DateTime
  ownerId: String
  type: String!
  adminSettings(elemAlias: String, cond: String, limit: Int, offset: Int, sort: [_SortCriterionSpecification!]): _EC_SysAdminSettings!
  operations(elemAlias: String, cond: String, limit: Int, offset: Int, sort: [_SortCriterionSpecification!]): _EC_SysOperation!
  _calc: _Calculation!
}

type _E_TestEntity implements _Entity & TestEntity {
  id: ID!
  aggVersion: Long!
  chgCnt: Long
  lastChangeDate: _DateTime
  ownerId: String
  bigDecimalField: BigDecimal
  binaryField: _ByteArray
  booleanField: Boolean
  integerField: Int
  localDateField: _Date
  localDateTimeField: _DateTime
  stringField: String
  textField: String
  type: String!
  _calc: _Calculation!
}

type _EC_RootDictionary {
  elems: [RootDictionary!]!
  count: Int!
}

type _EC_Stakeholder {
  elems: [Stakeholder!]!
  count: Int!
}

type _EC_Status {
  elems: [Status!]!
  count: Int!
}

type _EC_StatusGraph {
  elems: [StatusGraph!]!
  count: Int!
}

type _EC_SysAdminSettings {
  elems: [SysAdminSettings!]!
  count: Int!
}

type _EC_SysCheckSelect {
  elems: [SysCheckSelect!]!
  count: Int!
}

type _EC_SysOperation {
  elems: [SysOperation!]!
  count: Int!
}

type _EC_SysParamAddition {
  elems: [SysParamAddition!]!
  count: Int!
}

type _EC_SysRootSecurity {
  elems: [SysRootSecurity!]!
  count: Int!
}

type _EC_TestEntity {
  elems: [TestEntity!]!
  count: Int!
}

interface _Entity {
  id: ID!
}

scalar _Float4

enum _GetLockMode {
  """NOT_USE"""
  NOT_USE

  """WAIT"""
  WAIT

  """NOWAIT"""
  NOWAIT
}

input _IncBigDecimalValueFailInput {
  operator: _IncFailOperator!
  value: BigDecimal!
}

input _IncBigDecimalValueInput {
  value: BigDecimal!
  negative: Boolean = null
  fail: _IncBigDecimalValueFailInput
}

enum _IncFailOperator {
  """lt"""
  lt

  """le"""
  le

  """gt"""
  gt

  """ge"""
  ge
}

input _IncIntValueFailInput {
  operator: _IncFailOperator!
  value: Int!
}

input _IncIntValueInput {
  value: Int!
  negative: Boolean = null
  fail: _IncIntValueFailInput
}

input _IncTestEntityInput {
  integerField: _IncIntValueInput
  bigDecimalField: _IncBigDecimalValueInput
}

type _MergedEntitiesCollection {
  elems: [_Entity!]!
  count: Int!
}

type _Mutation {
  packet(aggregateVersion: Long, idempotencePacketId: String, enableBuffering: Boolean): _Packet
}

scalar _OffsetDateTime

type _Packet {
  createTestEntity(input: _CreateTestEntityInput!): TestEntity
  updateTestEntity(input: _UpdateTestEntityInput!, compare: _CompareTestEntityInput, inc: _IncTestEntityInput): TestEntity
  getTestEntity(id: ID!, failOnEmpty: Boolean = null, lock: _GetLockMode = NOT_USE): TestEntity
  deleteTestEntity(id: ID!, compare: _CompareTestEntityInput): String
  getStatus(id: ID!, failOnEmpty: Boolean = null, lock: _GetLockMode = NOT_USE): Status
  getStakeholder(id: ID!, failOnEmpty: Boolean = null, lock: _GetLockMode = NOT_USE): Stakeholder
  getStatusGraph(id: ID!, failOnEmpty: Boolean = null, lock: _GetLockMode = NOT_USE): StatusGraph
  aggregateVersion: Long
  isIdempotenceResponse: Boolean
  createManyTestEntity(input: [_CreateTestEntityInput!]!): [String]
  updateManyTestEntity(input: [_UpdateManyTestEntityInput]!): String
  deleteManyTestEntity(input: [_DeleteManyTestEntityInput]!): String
}

type _Query {
  merge(limit: Int, offset: Int, sort: [_SortCriterionSpecification!]): _MergedEntitiesCollection!
  resolveReferences(referenceType: String!, ids: [ID!]!): [_Reference!]!
  searchTestEntity(cond: String, limit: Int, offset: Int, sort: [_SortCriterionSpecification!]): _EC_TestEntity!
  searchStakeholder(cond: String, limit: Int, offset: Int, sort: [_SortCriterionSpecification!]): _EC_Stakeholder!
  searchStatus(cond: String, limit: Int, offset: Int, sort: [_SortCriterionSpecification!]): _EC_Status!
  searchStatusGraph(cond: String, limit: Int, offset: Int, sort: [_SortCriterionSpecification!]): _EC_StatusGraph!
  searchRootDictionary(cond: String, limit: Int, offset: Int, sort: [_SortCriterionSpecification!]): _EC_RootDictionary!
  searchSysRootSecurity(cond: String, limit: Int, offset: Int, sort: [_SortCriterionSpecification!]): _EC_SysRootSecurity!
  searchSysAdminSettings(cond: String, limit: Int, offset: Int, sort: [_SortCriterionSpecification!]): _EC_SysAdminSettings!
  searchSysOperation(cond: String, limit: Int, offset: Int, sort: [_SortCriterionSpecification!]): _EC_SysOperation!
  searchSysCheckSelect(cond: String, limit: Int, offset: Int, sort: [_SortCriterionSpecification!]): _EC_SysCheckSelect!
  searchSysParamAddition(cond: String, limit: Int, offset: Int, sort: [_SortCriterionSpecification!]): _EC_SysParamAddition!
}

type _R_RootDictionary implements _Reference {
  entityId: String
  entity: RootDictionary
}

type _R_Stakeholder implements _Reference {
  entityId: String
  entity: Stakeholder
}

type _R_Status implements _Reference {
  entityId: String
  entity: Status
}

type _R_StatusGraph implements _Reference {
  entityId: String
  entity: StatusGraph
}

type _R_SysAdminSettings implements _Reference {
  entityId: String
  entity: SysAdminSettings
}

type _R_SysCheckSelect implements _Reference {
  entityId: String
  entity: SysCheckSelect
}

type _R_SysOperation implements _Reference {
  entityId: String
  entity: SysOperation
}

type _R_SysParamAddition implements _Reference {
  entityId: String
  entity: SysParamAddition
}

type _R_SysRootSecurity implements _Reference {
  entityId: String
  entity: SysRootSecurity
}

type _R_TestEntity implements _Reference {
  entityId: String
  entity: TestEntity
}

interface _Reference {
  entityId: String
}

input _SortCriterionSpecification {
  crit: String!
  order: _SortOrder! = ASC
  nullsLast: Boolean
}

enum _SortOrder {
  ASC
  DESC
}

scalar _Time

input _UpdateManyTestEntityInput {
  param: _UpdateTestEntityInput!
  compare: _CompareTestEntityInput
  inc: _IncTestEntityInput
}

input _UpdateTestEntityInput {
  localDateTimeField: _DateTime
  booleanField: Boolean
  integerField: Int
  binaryField: _ByteArray
  bigDecimalField: BigDecimal
  stringField: String
  localDateField: _Date
  textField: String
  id: ID!
}

"""java.math.BigDecimal"""
scalar BigDecimal

"""Byte as Int"""
scalar Byte

"""Char as Character"""
scalar Char

"""Long type"""
scalar Long

interface RootDictionary {
  id: ID!
  type: String!
  _calc: _Calculation!
}

"""Short as Int"""
scalar Short

interface Stakeholder {
  id: ID!
  chgCnt: Long
  code: String
  lastChangeDate: _DateTime
  name: String
  aggregateRoot(alias: String): RootDictionary
  _calc: _Calculation!
}

interface Status {
  id: ID!
  chgCnt: Long
  code: String
  description: String
  initial: Boolean
  lastChangeDate: _DateTime
  name: String
  statusType: String
  stakeholder(alias: String): Stakeholder
  aggregateRoot(alias: String): RootDictionary
  _calc: _Calculation!
}

interface StatusGraph {
  id: ID!
  chgCnt: Long
  code: String
  label: String
  lastChangeDate: _DateTime
  name: String
  statusFrom(alias: String): Status
  statusTo(alias: String): Status
  aggregateRoot(alias: String): RootDictionary
  _calc: _Calculation!
}

interface SysAdminSettings {
  id: ID!
  aggVersion: Long!
  chgCnt: Long
  lastChangeDate: _DateTime
  ownerId: String
  key: String
  value: String
  rootSecurity(alias: String): SysRootSecurity!
  aggregateRoot(alias: String): SysRootSecurity
  _calc: _Calculation!
}

interface SysCheckSelect {
  id: ID!
  aggVersion: Long!
  chgCnt: Long
  lastChangeDate: _DateTime
  ownerId: String
  beforeCommitEnable: Boolean
  beforeOperationDisable: Boolean
  conditionValue: String
  description: String
  orderValue: Int
  typeName: String
  operation(alias: String): SysOperation!
  aggregateRoot(alias: String): SysRootSecurity
  _calc: _Calculation!
}

interface SysOperation {
  id: ID!
  aggVersion: Long!
  chgCnt: Long
  lastChangeDate: _DateTime
  ownerId: String
  allowEmptyChecks: Boolean
  body: String
  disableJwtVerification: Boolean
  hashValue: String
  rootSecurity(alias: String): SysRootSecurity!
  aggregateRoot(alias: String): SysRootSecurity
  checkSelects(elemAlias: String, cond: String, limit: Int, offset: Int, sort: [_SortCriterionSpecification!]): _EC_SysCheckSelect!
  paramAdditions(elemAlias: String, cond: String, limit: Int, offset: Int, sort: [_SortCriterionSpecification!]): _EC_SysParamAddition!
  _calc: _Calculation!
}

interface SysParamAddition {
  id: ID!
  aggVersion: Long!
  chgCnt: Long
  lastChangeDate: _DateTime
  ownerId: String
  paramAddition: String
  paramName: String
  operation(alias: String): SysOperation!
  aggregateRoot(alias: String): SysRootSecurity
  _calc: _Calculation!
}

interface SysRootSecurity {
  id: ID!
  aggVersion: Long!
  chgCnt: Long
  lastChangeDate: _DateTime
  ownerId: String
  type: String!
  adminSettings(elemAlias: String, cond: String, limit: Int, offset: Int, sort: [_SortCriterionSpecification!]): _EC_SysAdminSettings!
  operations(elemAlias: String, cond: String, limit: Int, offset: Int, sort: [_SortCriterionSpecification!]): _EC_SysOperation!
  _calc: _Calculation!
}

interface TestEntity {
  id: ID!
  aggVersion: Long!
  chgCnt: Long
  lastChangeDate: _DateTime
  ownerId: String
  bigDecimalField: BigDecimal
  binaryField: _ByteArray
  booleanField: Boolean
  integerField: Int
  localDateField: _Date
  localDateTimeField: _DateTime
  stringField: String
  textField: String
  type: String!
  _calc: _Calculation!
}

